<html>
<head><meta charset="utf-8"><title>I-prioritize #76351 Recursive Trait Hang in rustc · t-compiler/wg-prioritization/alerts · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/index.html">t-compiler/wg-prioritization/alerts</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize.20.2376351.20Recursive.20Trait.20Hang.20in.20rustc.html">I-prioritize #76351 Recursive Trait Hang in rustc</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="209157090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize%20%2376351%20Recursive%20Trait%20Hang%20in%20rustc/near/209157090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize.20.2376351.20Recursive.20Trait.20Hang.20in.20rustc.html#209157090">(Sep 05 2020 at 02:29)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="3111">@WG-prioritization/alerts</span> issue <a href="https://github.com/rust-lang/rust/issues/76351">#76351</a> has been requested for prioritization.</p>
<h1><a href="https://forge.rust-lang.org/compiler/prioritization/procedure.html#assign-priority-to-unprioritized-issues-with-i-prioritize-label">Procedure</a></h1>
<ul>
<li>Priority?</li>
<li>Regression?</li>
<li>Notify people/groups?</li>
<li>Needs <code>I-nominated</code>?</li>
</ul>



<a name="209232759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize%20%2376351%20Recursive%20Trait%20Hang%20in%20rustc/near/209232759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> apiraino <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize.20.2376351.20Recursive.20Trait.20Hang.20in.20rustc.html#209232759">(Sep 06 2020 at 16:54)</a>:</h4>
<p>fwiw the provided snippet seems to not compile on any stable, maybe a longstanding issue never surfaced until now? Could it make sense a <code>P-medium</code> until futher comments clarify a bit?</p>



<a name="209235449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize%20%2376351%20Recursive%20Trait%20Hang%20in%20rustc/near/209235449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize.20.2376351.20Recursive.20Trait.20Hang.20in.20rustc.html#209235449">(Sep 06 2020 at 18:12)</a>:</h4>
<blockquote>
<p>It does not identify that Unit does not implement trait <code>At</code></p>
</blockquote>
<p>Yeah this shouldn't compile, but having the compiler hang is kind of like a diagnostic regression in the sense that you don't get diagnostics to spot your error</p>



<a name="209235532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize%20%2376351%20Recursive%20Trait%20Hang%20in%20rustc/near/209235532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> apiraino <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize.20.2376351.20Recursive.20Trait.20Hang.20in.20rustc.html#209235532">(Sep 06 2020 at 18:15)</a>:</h4>
<p>oh I see, thanks for clarifying</p>



<a name="209235541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize%20%2376351%20Recursive%20Trait%20Hang%20in%20rustc/near/209235541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize.20.2376351.20Recursive.20Trait.20Hang.20in.20rustc.html#209235541">(Sep 06 2020 at 18:15)</a>:</h4>
<p>I think <code>P-medium</code> is fine</p>



<a name="209235667"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize%20%2376351%20Recursive%20Trait%20Hang%20in%20rustc/near/209235667" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize.20.2376351.20Recursive.20Trait.20Hang.20in.20rustc.html#209235667">(Sep 06 2020 at 18:18)</a>:</h4>
<p>Looks like this regressed in 1.31.0</p>



<a name="209235675"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize%20%2376351%20Recursive%20Trait%20Hang%20in%20rustc/near/209235675" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize.20.2376351.20Recursive.20Trait.20Hang.20in.20rustc.html#209235675">(Sep 06 2020 at 18:19)</a>:</h4>
<p>In 1.30.0 I get</p>
<div class="codehilite"><pre><span></span><code>error[E0275]: overflow evaluating the requirement `&lt;_ as Indexed&gt;::Index`

  |

  = help: consider adding a `#![recursion_limit=&quot;128&quot;]` attribute to your crate

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`

  = note: required because of the requirements on the impl of `At&lt;(_, _)&gt;` for `()`
</code></pre></div>



<a name="209235681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize%20%2376351%20Recursive%20Trait%20Hang%20in%20rustc/near/209235681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize.20.2376351.20Recursive.20Trait.20Hang.20in.20rustc.html#209235681">(Sep 06 2020 at 18:19)</a>:</h4>
<p>Which is not particularly useful either</p>



<a name="209235809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize%20%2376351%20Recursive%20Trait%20Hang%20in%20rustc/near/209235809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize.20.2376351.20Recursive.20Trait.20Hang.20in.20rustc.html#209235809">(Sep 06 2020 at 18:22)</a>:</h4>
<p>Going with <code>P-medium</code></p>



<a name="209235814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize%20%2376351%20Recursive%20Trait%20Hang%20in%20rustc/near/209235814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/245100-t-compiler/wg-prioritization/alerts/topic/I-prioritize.20.2376351.20Recursive.20Trait.20Hang.20in.20rustc.html#209235814">(Sep 06 2020 at 18:23)</a>:</h4>
<p>Issue <a href="https://github.com/rust-lang/rust/issues/76351">#76351</a>'s prioritization request has been removed.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>